package com.ioidea.ble

import cn.com.heaton.blelibrary.ble.BleRssiDevice
import cn.com.heaton.blelibrary.ble.callback.BleScanCallback
import com.ioidea.ble.en.EnumBleStatus

/**
 * 使用此框架第一步都需要设置连接状态
 * connect回调是通过初始化设备的连接状态回调回来的
 * 提供蓝牙的一些Api调用方法  scan connect...
 */
 open class BaseApi:BLeController() {


    /**
     * 设置蓝牙的连接状态
     */
     fun setBLeStatusListener(bleStatusListener: (enumBleStatus: EnumBleStatus) -> Unit) {
        this.bleStatusListener = bleStatusListener
    }




    /**
     * 蓝牙扫描
     */
     fun scan(scanCallback: BleScanCallback<BleRssiDevice>) {
        mBle.startScan(scanCallback)
    }


    /**
     * 停止扫描
     */
    fun stopScan() {
        if (mBle.isScanning)
        {
            mBle.stopScan()
        }
    }

    /**
     * 蓝牙连接
     */
     fun connect(device: BleRssiDevice) {
        retryConnectCount=0
      mBle.connect(device, connectCallback)
    }

    fun getConnectDevice():BleRssiDevice?{
       return mConnectedBle
    }

}

